/*jslint sub: true */
/*global parseInt, Service */

/**
 * Сервис расширенной информации о пользователях.
 *
 * @class
 * @name Service.Vk.Users.GetInfo
 * @extends Service.Vk.Users
 */
Service.Vk.Users.GetInfo = Service.Vk.Users.$extend({

    call : function (options, callback) {
        'use strict';
//        options = options || {};
//        options['method'] = 'get';
//        var users      = [],
//            usersType  = typeof options['users'],
//            fieldsType = typeof options['fields'];
//        if (!(options['users'] instanceof Array)) {
//            options['users']
//        }
//
//        if (usersType === 'string') {
//
//        } else if (options['users'] instanceof Array) {
//            options['users'].forEach(function (uid) {
//                uid = String(uid || '');
//                if (/^\s*\d+\s*$/.test(uid) && users.indexOf(uid) === -1) {
//                    users.push(parseInt(uid, 10));
//                }
//            });
//        }
        this.$super(options, callback);
    },

    $static : {

        /**
         * Идентификатор пользователя.
         *
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#FIELD_UID
         * @type {String}
         */
        FIELD_UID : 'uid',

        /**
         * Имя пользователя.
         *
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#FIELD_FIRSET_NAME
         * @type {String}
         */
        FIELD_FIRSET_NAME : 'first_name',

        /**
         * Фамилия пользователя.
         *
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#FIELD_LAST_NAME
         * @type {String}
         */
        FIELD_LAST_NAME : 'last_name',

        /**
         * Никнейм пользователя, данное поле возвращается только в том случае,
         * если получается не больше одного профиля.
         *
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#FIELD_NICKNAME
         * @type {String}
         */
        FIELD_NICKNAME : 'nickname',

        /**
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#
         * @type {String}
         */
        FIELD_SCREEN_NAME  : 'screen_name',

        /**
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#
         * @type {String}
         */
        FIELD_SEX          : 'sex',

        /**
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#
         * @type {String}
         */
        FIELD_BIRTHDATE    : 'bdate',

        /**
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#
         * @type {String}
         */
        FIELD_CITY         : 'city',

        /**
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#
         * @type {String}
         */
        FIELD_COUNTRY      : 'country',

        /**
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#
         * @type {String}
         */
        FIELD_TIMEZONE     : 'timezone',

        /**
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#
         * @type {String}
         */
        FIELD_PHOTO        : 'photo',

        /**
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#
         * @type {String}
         */
        FIELD_PHOTO_MEDIUM : 'photo_medium',

        /**
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#
         * @type {String}
         */
        FIELD_PHOTO_BIG    : 'photo_big',

        /**
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#
         * @type {String}
         */
        FIELD_HAS_MOBILE   : 'has_mobile',

        /**
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#
         * @type {String}
         */
        FIELD_RATE         : 'rate',

        /**
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#
         * @type {String}
         */
        FIELD_CONTACTS     : 'contacts',

        /**
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#
         * @type {String}
         */
        FIELD_EDUCATION    : 'education',

        /**
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#
         * @type {String}
         */
        FIELD_ONLINE       : 'online',

        /**
         * @public
         * @constant
         * @name Service.Vk.Users.GetInfo#
         * @type {String}
         */
        FIELD_COUNTERS     : 'counters'

    }

});